Towards a theory of semantic communication